import 'package:flutter/material.dart';

///
/// FittedBox
/// 根据fit在其内部缩放和定位其子级。
///  子组件大小超出了父组件大小时，如果不经过处理的话 Flutter 中就会显示一个溢出警告并在控制台打印错误日志
///  https://api.flutter-io.cn/flutter/widgets/FittedBox-class.html
///
class FittedBoxPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
        appBar: AppBar(
          title: Text("空间适配（FittedBox）"),
        ),
        body: Column(
          children: [
            Expanded(
              child: Container(
                height: 400,
                width: 300,
                color: Colors.red,
                child: FittedBox(
                  fit: BoxFit.fill,
                  child: Image.network(
                      'https://flutter.github.io/assets-for-api-docs/assets/widgets/owl-2.jpg'),
                ),
              ),
              flex: 1,
            ),
            Spacer(
              flex: 1,
            ),
            Expanded(
              child: Padding(
                padding: const EdgeInsets.symmetric(vertical: 30.0),
                child: Row(children: [Text('xx' * 30)]), //文本长度超出 Row 的最大宽度会溢出
              ),
              flex: 1,
            ),
            Expanded(
              child: Padding(
                padding: const EdgeInsets.symmetric(vertical: 30.0),
                child:FittedBox(
                  child:  Row(children: [Text('xx' * 30)]),
                ), //文本长度超出 Row 的最大宽度会溢出
              ),
              flex: 1,
            )
          ],
        ));
  }
}
